package com.ruoyi.house.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 房源对象 hse_house
 * 
 * @author ruoyi
 * @date 2024-07-08
 */
public class HseHouse extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;

    /** 小区id */
    @Excel(name = "小区id")
    private Long communityId;

    /** 房源名称 */
    @Excel(name = "房源名称")
    private String name;

    /** 描述 */
    @Excel(name = "描述")
    private String description;

    /** 总价：万元 */
    @Excel(name = "总价：万元")
    private BigDecimal totalPrice;

    /** 单位价格 */
    @Excel(name = "单位价格")
    private BigDecimal unitPrice;

    /** 建筑面积 */
    @Excel(name = "建筑面积")
    private BigDecimal buildArea;

    /** 套内面积 */
    @Excel(name = "套内面积")
    private BigDecimal insideArea;

    /** 户型：（字典id） */
    @Excel(name = "户型：", readConverterExp = "字=典id")
    private String houseTypeId;

    /** 楼层（字典id） */
    @Excel(name = "楼层", readConverterExp = "字=典id")
    private Long floorId;

    /** 建筑结构：（字典id） */
    @Excel(name = "建筑结构：", readConverterExp = "字=典id")
    private Long buildStructureId;

    /** 朝向：（字典id） */
    @Excel(name = "朝向：", readConverterExp = "字=典id")
    private Long directionId;

    /** 装修情况：（字典id） */
    @Excel(name = "装修情况：", readConverterExp = "字=典id")
    private Long decorationId;

    /** 房屋用途：（字典id） */
    @Excel(name = "房屋用途：", readConverterExp = "字=典id")
    private Long houseUseId;

    /** 电梯比例 */
    @Excel(name = "电梯比例")
    private String elevatorRatio;

    /** 挂牌日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "挂牌日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date listingDate;

    /** 上次交易日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "上次交易日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date lastTradeDate;

    /** 默认图片 */
    @Excel(name = "默认图片")
    private String defaultImageUrl;

    /** 状态 */
    @Excel(name = "状态")
    private Long status;

    /** 删除标记（0:不可用 1:可用） */
    @Excel(name = "删除标记", readConverterExp = "0=:不可用,1=:可用")
    private Long isDeleted;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setCommunityId(Long communityId) 
    {
        this.communityId = communityId;
    }

    public Long getCommunityId() 
    {
        return communityId;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setDescription(String description) 
    {
        this.description = description;
    }

    public String getDescription() 
    {
        return description;
    }
    public void setTotalPrice(BigDecimal totalPrice) 
    {
        this.totalPrice = totalPrice;
    }

    public BigDecimal getTotalPrice() 
    {
        return totalPrice;
    }
    public void setUnitPrice(BigDecimal unitPrice) 
    {
        this.unitPrice = unitPrice;
    }

    public BigDecimal getUnitPrice() 
    {
        return unitPrice;
    }
    public void setBuildArea(BigDecimal buildArea) 
    {
        this.buildArea = buildArea;
    }

    public BigDecimal getBuildArea() 
    {
        return buildArea;
    }
    public void setInsideArea(BigDecimal insideArea) 
    {
        this.insideArea = insideArea;
    }

    public BigDecimal getInsideArea() 
    {
        return insideArea;
    }
    public void setHouseTypeId(String houseTypeId) 
    {
        this.houseTypeId = houseTypeId;
    }

    public String getHouseTypeId() 
    {
        return houseTypeId;
    }
    public void setFloorId(Long floorId) 
    {
        this.floorId = floorId;
    }

    public Long getFloorId() 
    {
        return floorId;
    }
    public void setBuildStructureId(Long buildStructureId) 
    {
        this.buildStructureId = buildStructureId;
    }

    public Long getBuildStructureId() 
    {
        return buildStructureId;
    }
    public void setDirectionId(Long directionId) 
    {
        this.directionId = directionId;
    }

    public Long getDirectionId() 
    {
        return directionId;
    }
    public void setDecorationId(Long decorationId) 
    {
        this.decorationId = decorationId;
    }

    public Long getDecorationId() 
    {
        return decorationId;
    }
    public void setHouseUseId(Long houseUseId) 
    {
        this.houseUseId = houseUseId;
    }

    public Long getHouseUseId() 
    {
        return houseUseId;
    }
    public void setElevatorRatio(String elevatorRatio) 
    {
        this.elevatorRatio = elevatorRatio;
    }

    public String getElevatorRatio() 
    {
        return elevatorRatio;
    }
    public void setListingDate(Date listingDate) 
    {
        this.listingDate = listingDate;
    }

    public Date getListingDate() 
    {
        return listingDate;
    }
    public void setLastTradeDate(Date lastTradeDate) 
    {
        this.lastTradeDate = lastTradeDate;
    }

    public Date getLastTradeDate() 
    {
        return lastTradeDate;
    }
    public void setDefaultImageUrl(String defaultImageUrl) 
    {
        this.defaultImageUrl = defaultImageUrl;
    }

    public String getDefaultImageUrl() 
    {
        return defaultImageUrl;
    }
    public void setStatus(Long status) 
    {
        this.status = status;
    }

    public Long getStatus() 
    {
        return status;
    }
    public void setIsDeleted(Long isDeleted) 
    {
        this.isDeleted = isDeleted;
    }

    public Long getIsDeleted() 
    {
        return isDeleted;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("communityId", getCommunityId())
            .append("name", getName())
            .append("description", getDescription())
            .append("totalPrice", getTotalPrice())
            .append("unitPrice", getUnitPrice())
            .append("buildArea", getBuildArea())
            .append("insideArea", getInsideArea())
            .append("houseTypeId", getHouseTypeId())
            .append("floorId", getFloorId())
            .append("buildStructureId", getBuildStructureId())
            .append("directionId", getDirectionId())
            .append("decorationId", getDecorationId())
            .append("houseUseId", getHouseUseId())
            .append("elevatorRatio", getElevatorRatio())
            .append("listingDate", getListingDate())
            .append("lastTradeDate", getLastTradeDate())
            .append("defaultImageUrl", getDefaultImageUrl())
            .append("status", getStatus())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("isDeleted", getIsDeleted())
            .toString();
    }
}
